<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   
      <title>1.4. Instalaci&oacute;n del entorno</title>
      <meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2">
      <link rel="home" href="indice.html" title="Manual Usuario gvHidra">
      <link rel="up" href="ch01.html" title="Cap&iacute;tulo 1. Empezando con gvHIDRA">
      <link rel="prev" href="ch01s03.html" title="1.3. Entendiendo el entorno">
      <link rel="next" href="ch01s05.html" title="1.5. Creando mi &#8220;hola mundo&#8221; en gvHidra">
   </head>
   <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
      <div class="navheader">
         <table width="100%" summary="Navigation header">
            <tr>
               <th colspan="3" align="center">1.4. Instalaci&oacute;n del entorno</th>
            </tr>
            <tr>
               <td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Anterior</a>&nbsp;
               </td>
               <th width="60%" align="center">Cap&iacute;tulo 1. Empezando con gvHIDRA</th>
               <td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01s05.html">Siguiente</a></td>
            </tr>
         </table>
         <hr>
      </div>
      <div class="section" title="1.4. Instalaci&oacute;n del entorno">
         <div class="titlepage">
            <div>
               <div>
                  <h2 class="title" style="clear: both"><a name="d4e189"></a>1.4. Instalaci&oacute;n del entorno
                  </h2>
               </div>
            </div>
         </div>
             
         
             
         <p>Para ejecutar una aplicaci&oacute;n en gvHIDRA, se tiene que disponer de un
                servidor web capaz de intepretar PHP. Estos son los requisitos
                t&eacute;cnicos:
         </p>
         
             
         <div class="itemizedlist">
            <ul class="itemizedlist" type="disc">
               <li class="listitem">
                           Servidor WEB. Puede ser cualquier servidor, aunque nosotros recomendamos Apache 2.X. 
                        
               </li>
               <li class="listitem">
                           PHP. Debe ser una versi&oacute;n de la rama 5.2.X. Actualmente, no garantizamos la compatibilidad con la versi&oacute;n 5.3.X aunque
                  esperamos hacerlo en breve. 
                        
               </li>
               <li class="listitem">
                           PEAR. Para el correcto funcionamiento del framework, se requieren una serie de librer&iacute;as del proyecto PEAR con sus
                  dependencias respectivas. Las requeridas son: 
                  
                          
                  <div class="itemizedlist">
                     <ul class="itemizedlist" type="circle">
                        <li class="listitem">MDB2: capa de abstracci&oacute;n sobre la base de
                                     datos
                        </li>
                        <li class="listitem">MDB2_Driver_x: correspondiente al SGBD con el que vamos a
                                     trabajar.
                        </li>
                        <li class="listitem">
                                       
                           <p>PEAR: sistema b&aacute;sico de PEAR</p>
                                     
                        </li>
                        <li class="listitem">
                                       
                           <p>Auth: sistema de validaci&oacute;n.</p>
                                     
                        </li>
                        <li class="listitem">
                                       
                           <p>Mail: para poder hacer uso de la clase de envio de correos
                                          del <span class="emphasis"><em>framework</em></span>.
                           </p>
                                     
                        </li>
                        <li class="listitem">
                                       
                           <p>SOAP: si se quiere hacer uso de servidores de web services.
                                          Aunque PHP incorpora la la extensi&oacute;n SOAP, la librer&iacute;a PEAR::SOAP
                                          ofrece mecanismos para genarar WSDL de forma sencilla.
                           </p>
                                     
                        </li>
                     </ul>
                  </div>
                  
                           
                        
               </li>
            </ul>
         </div>
         
             
         <div class="section" title="1.4.1. &iquest;El entorno funciona correctamente?">
            <div class="titlepage">
               <div>
                  <div>
                     <h3 class="title"><a name="d4e208"></a>1.4.1. &iquest;El entorno funciona correctamente?
                     </h3>
                  </div>
               </div>
            </div>
                  
            
                  
            <p>Lo primero que tenemos que comprobar es que el entorno de trabajo
                     est&aacute; funcionando correctamente. Para ello, vamos a ejecutar unos scripts
                     que nos confirmar&aacute;n que nuestro servidor est&aacute; listo para albergar
                     aplicaciones gvHIDRA.
            </p>
            
                  
            <div class="section" title="1.4.1.1. &iquest;Funciona correctamente el PHP?">
               <div class="titlepage">
                  <div>
                     <div>
                        <h4 class="title"><a name="d4e211"></a>1.4.1.1. &iquest;Funciona correctamente el PHP?
                        </h4>
                     </div>
                  </div>
               </div>
                       
               
                       
               <p>Creamos el siguiente script en la carpeta raiz del servidor web
                          (generalmente, htdocs) con el nombre test1.php :
               </p>
               
                       <pre class="programlisting">&lt;?php
    phpinfo();
?&gt;</pre>
               
                       <p>Si todo ha ido bien, cuando accedamos a este script desde
                          nuestro navegador tendremos algo parecido a la siguiente
                          imagen.
               </p>
               
                       
               <div class="mediaobject" align="center"><img src="images/testPHP.png" align="middle"></div>
               
                       
               <p>Podemos aprovechar para comproba que la versi&oacute;n de PHP es la
                          correcta.
               </p>
                     
            </div>
            
                  
            <div class="section" title="1.4.1.2. &iquest;Funciona la conexi&oacute;n al SGBD?">
               <div class="titlepage">
                  <div>
                     <div>
                        <h4 class="title"><a name="d4e220"></a>1.4.1.2. &iquest;Funciona la conexi&oacute;n al SGBD?
                        </h4>
                     </div>
                  </div>
               </div>
                       
               
                       
               <p>Bien, una vez hemos comprobado que tenemos una instalaci&oacute;n
                          correcta en lo relativo a PHP, vamos a comprobar que tenemos acceso a
                          la base de datos. Para ello vamos crear un script que se conecte a
                          nuestro SGBD. Para ello debemos copiar el siguiente c&oacute;digo en el
                          fichero test2.php:
               </p>
               
                       <pre class="programlisting">&lt;?php

include_once('MDB2.php');
include_once('PEAR.php');

$dsn= array(
  'phptype'  =&gt; 'xxxx',
  'username' =&gt; 'xxxx',
  'password' =&gt; 'xxxx',
  'hostspec' =&gt; 'xxxx',
  'port' =&gt; 'xxxx',
);

$options = array('portability' =&gt; MDB2_PORTABILITY_NONE,);
$res = MDB2::connect($dsn,$options);

if(PEAR::isError($res)) 
{
  print_r("Error:\n");
  print_r($res);
  die;
}

die("&iexcl;Eureka!");
?&gt;</pre>
               
                       <p>Ahora tenemos que completar la informaci&oacute;n con los datos
                          necesarios para que localice el sistema localice la base de datos.
                          Para ello, tenemos que completar la cadena de conexi&oacute;n con los
                          siguientes valores:
               </p>
               
                       
               <div class="itemizedlist">
                  <ul class="itemizedlist" type="disc">
                     <li class="listitem">
                                     phptype: tipo de SGBD: oci8 (para Oracle), pgsql (PostgreSQL) o mysql. 
                                  
                     </li>
                     <li class="listitem">
                                     username: nombre de usuario para la conexi&oacute;n. 
                                  
                     </li>
                     <li class="listitem">
                                     password: password del usuario. 
                                  
                     </li>
                     <li class="listitem">
                                     hostspec: host del SGBD. 
                                  
                     </li>
                     <li class="listitem">
                                    
                        <p>database: nombre de la base de datos. No es necesario para
                                       Oracle.
                        </p>
                                  
                     </li>
                     <li class="listitem">
                                     port: (opcional) puerto en el que est&aacute; trabajando el SGBD. No es necesario si es el valor por defecto. 
                                  
                     </li>
                  </ul>
               </div>
               
                       
               <p>Con la informaci&oacute;n completa, s&oacute;lo nos queda ubicar el fichero en
                          una ubicaci&oacute;n que sirva nuestro servidor web y acceder a la p&aacute;gina con
                          el navegador. Si todo ha funcionado correctamente debe aparecer en
                          pantalla el texto "&iexcl;Eureka!". En caso contrario, conviene revisar los
                          siguientes puntos:
               </p>
               
                       
               <div class="itemizedlist">
                  <ul class="itemizedlist" type="disc">
                     <li class="listitem">
                                     Instalaci&oacute;n del paquete MDB2 y del driver MDB2 adecuado. 
                                  
                     </li>
                     <li class="listitem">
                                    
                        <p>Login y password del usuario.</p>
                                  
                     </li>
                     <li class="listitem">
                                     Acceso al SGBD, &iquest;tenemos acceso desde el servidor web a la BD? 
                                  
                     </li>
                  </ul>
               </div>
                     
            </div>
                
         </div>
           
      </div>
      <div class="navfooter">
         <hr>
         <table width="100%" summary="Navigation footer">
            <tr>
               <td width="40%" align="left"><a accesskey="p" href="ch01s03.html">Anterior</a>&nbsp;
               </td>
               <td width="20%" align="center"><a accesskey="u" href="ch01.html">Subir</a></td>
               <td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01s05.html">Siguiente</a></td>
            </tr>
            <tr>
               <td width="40%" align="left" valign="top">1.3. Entendiendo el entorno&nbsp;</td>
               <td width="20%" align="center"><a accesskey="h" href="indice.html">Inicio</a></td>
               <td width="40%" align="right" valign="top">&nbsp;1.5. Creando mi &#8220;hola mundo&#8221; en gvHidra</td>
            </tr>
         </table>
      </div>
   </body>
</html>